package com.zsrt.designmodel.ch02;


/**
 * 单例模式就是说系统中对于某类的只能有一个对象，不可能出来第二个。
 * 
 * 解决了同步的问题 缺点 锁住整个方法 粒度比较大
 * @author zsrt  1001
 *
 */
public class Singleton {
	
	/**
	 * 1 延迟加载 懒加载
	 */
	private static Singleton instance;
	
	
	/**
	 * 2 提供私有的构造方法
	 */
	private Singleton(){
		
	}
	
	
	/**
	 * 3 提供公共的静态的方法  锁的资源 粒度  力度太大 会造成不必要的性能损耗
	 */
	public static synchronized Singleton getSingleton(){
		
		if(null == instance){
			
			instance= new Singleton();
			return instance;
		}
		
		return instance;
	}

}
